var webpack = require('webpack'),
    merge = require('webpack-merge'),
    htmlWebpackPlugin = require('html-webpack-plugin'),
    extractTextWebpackPlugin = require('extract-text-webpack-plugin'),
    baseConfig = require('./webpack.config.js');
// 清空 plugins
baseConfig.plugins = [];
console.log('环境:', process.env.NODE_ENV);
module.exports = merge(baseConfig, {
    // 禁用缓存 - js
    output: {
        filename:'js/[name].[hash].js',
        //★打包异步请求的文件★
        chunkFilename:'js/[name].[hash].chunk.js'
    },
    plugins: [
        // 定义生产环境变量
        new webpack.DefinePlugin({
            'process.env': {
                NODE_ENV: JSON.stringify(process.env.NODE_ENV),
                Mock:true
            }
        })
        // 禁用缓存 - css
        ,new extractTextWebpackPlugin({
            filename:'css/[name].[hash].css',
            //★把所有的异步请求的 .vue 文件的 style 也打包如 主样式表★
            allChunks:true
        })
        // 压缩 js & css
        ,new webpack.optimize.UglifyJsPlugin({
            //对压缩后的 js 开启 source-map            
            sourceMap: true,
            compress: {
                warnings: false,
                //过滤的方法等同于 drop_console:true
                pure_funcs:['console.log']
            }
        })
        ,new htmlWebpackPlugin({
            // 目录现对于环境根目录
            template: './public/template.html',
            // 默认是 index.html
            // 目录相对于 /static/
            filename: '../index.html',
            // 默认是 true 插入到 body 底部
            inject:true,
            // 多文件入口时,选择性的引入文件
            // <script type="text/javascript" src="main.js"> <script type="text/javascript" src="index.js">
            //chunks:['main','index'],
            hash:true
        })
        /*//抽离共有的 css 和 js 形成文件名
        ,new webpack.optimize.CommonsChunkPlugin({
        	name:'css/common',
        	filename:'js/common.js',
        	chunks:['index','news']
        })*/
    ],
    // 禁用 sourcemap
    devtool:false
});